package com.jpa.demo.repository;

import java.util.List;
import java.util.Optional;

/**
 * 定义了操作的接口
 * @param <T>
 * @param <ID>
 */
public interface MyJpaRepository<T, ID> {
    /**
     * 保存实体并返回对应的实体
     * @param t entity to be saved. must not be null
     */
    T save(T t);

    /**
     * 根据对应的Id获取实体记录
     * @param id the id of the entity
     */
    Optional<T> findById(ID id);

    /**
     * 查找所有的记录
     */
    List<T> findAll();

    /**
     * 根据Id删除对应的记录
     * @param id
     */
    void deleteById(ID id);
}
